package com.xxl.dao.comment;

import com.xxl.dto.BlogCommentDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 操作数据库博客评论表
 * 评论不可删除
 * @author xxl
 * @date 2023/3/30
 */
@Mapper
public interface BlogCommentMapper {
    /**
     * 查询一条博客的所有的评论
     * @param uuid
     * @return List<BlogCommentDto>
     */
    List<BlogCommentDto> queryAllBlogCommentByUuid(@Param("uuid")String uuid);

    /**
     * 删除一条评论
     * 删除规则：
     *      1：发布评论的人的删除评论 参数为(null,CommentID)
     *      2：博客的主任删除 参数为(postComment,CommentID)
     * 每次删除带上评论id
     * @param postCommentUsername 发布此评论的username
     * @param commentId 评论id
     * @return int
     */
    int deleteByPostCommentOrMaster(@Param("postComment")String postCommentUsername,@Param("commentId")String commentId);

    /**
     * 增加一条评论
     * @param blogCommentDto
     * @return int
     */
    int postComment(BlogCommentDto blogCommentDto);
}
